package cn.ydt.ydt.community.service;

import cn.ydt.ydt.common.resful.JsonPage;
import cn.ydt.ydt.pojo.community.dto.NoticeAddDTO;
import cn.ydt.ydt.pojo.community.dto.NoticeDeleteDTO;
import cn.ydt.ydt.pojo.community.dto.NoticeListDTO;
import cn.ydt.ydt.pojo.community.dto.NoticeUpdateDTO;
import cn.ydt.ydt.pojo.community.vo.NoticeAddVO;
import cn.ydt.ydt.pojo.community.vo.NoticeListVO;

import java.util.List;

/**
 * 通知功能 服务类
 *
 * @author ydt.ydt
 * @since 2022-7-22
 */
public interface NoticeService {

    /**
     * 新增通知
     * @param noticeAddDTO
     * @return
     */
    void addNotice(NoticeAddDTO noticeAddDTO);

    /**
     * 根据社区id查询当前社区里的所有信息
     * @param noticeUpdateDTO
     */
    void updateNoticeByNoticeIdAndCommunityId(NoticeUpdateDTO noticeUpdateDTO);

    /**
     * 根据社区id查询当前社区里的所有信息
     * @param
     * @return
     */
    List<NoticeListVO> selectNoticeByCommunityId();

    /**
     * 根据社区id查询当前社区里的所有信息
     * @param
     * @return
     */
    List<NoticeListVO> selectNoticeByCommunityIdUser();

    /**
     * 根据社区id分页查询当前社区里的所有信息
     * @param noticeListDTO
     * @return
     */
    JsonPage<NoticeListVO> selectNoticePageByCommunityId(NoticeListDTO noticeListDTO);

    /**
     * 根据社区id和通知id删除通知
     * @param noticeId
     */
    void deleteNoticeByNoticeIdAndCommunityId(Long noticeId);

}
